/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package Rules;

import BoardGame.BoardGamePackage;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EPackage;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each operation of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see Rules.RulesFactory
 * @model kind="package"
 * @generated
 */
public interface RulesPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "Rules";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://www.moflon.org/Rules";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "Rules";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	RulesPackage eINSTANCE = Rules.impl.RulesPackageImpl.init();

	/**
	 * The meta object id for the '{@link Rules.impl.KB_KingBlackImpl <em>KB King Black</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see Rules.impl.KB_KingBlackImpl
	 * @see Rules.impl.RulesPackageImpl#getKB_KingBlack()
	 * @generated
	 */
	int KB_KING_BLACK = 0;

	/**
	 * The feature id for the '<em><b>Field</b></em>' container reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KB_KING_BLACK__FIELD = BoardGamePackage.FIGURE__FIELD;

	/**
	 * The number of structural features of the '<em>KB King Black</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KB_KING_BLACK_FEATURE_COUNT = BoardGamePackage.FIGURE_FEATURE_COUNT + 0;

	/**
	 * The operation id for the '<em>Add To</em>' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KB_KING_BLACK___ADD_TO__FIELD = BoardGamePackage.FIGURE___ADD_TO__FIELD;

	/**
	 * The operation id for the '<em>Move To</em>' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KB_KING_BLACK___MOVE_TO__FIELD = BoardGamePackage.FIGURE_OPERATION_COUNT + 0;

	/**
	 * The number of operations of the '<em>KB King Black</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KB_KING_BLACK_OPERATION_COUNT = BoardGamePackage.FIGURE_OPERATION_COUNT + 1;

	/**
	 * The meta object id for the '{@link Rules.impl.KW_KingWhiteImpl <em>KW King White</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see Rules.impl.KW_KingWhiteImpl
	 * @see Rules.impl.RulesPackageImpl#getKW_KingWhite()
	 * @generated
	 */
	int KW_KING_WHITE = 1;

	/**
	 * The feature id for the '<em><b>Field</b></em>' container reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KW_KING_WHITE__FIELD = BoardGamePackage.FIGURE__FIELD;

	/**
	 * The number of structural features of the '<em>KW King White</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KW_KING_WHITE_FEATURE_COUNT = BoardGamePackage.FIGURE_FEATURE_COUNT + 0;

	/**
	 * The operation id for the '<em>Add To</em>' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KW_KING_WHITE___ADD_TO__FIELD = BoardGamePackage.FIGURE___ADD_TO__FIELD;

	/**
	 * The operation id for the '<em>Move To</em>' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KW_KING_WHITE___MOVE_TO__FIELD = BoardGamePackage.FIGURE_OPERATION_COUNT + 0;

	/**
	 * The number of operations of the '<em>KW King White</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int KW_KING_WHITE_OPERATION_COUNT = BoardGamePackage.FIGURE_OPERATION_COUNT + 1;

	/**
	 * The meta object id for the '{@link Rules.impl.NB_KnightBlackImpl <em>NB Knight Black</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see Rules.impl.NB_KnightBlackImpl
	 * @see Rules.impl.RulesPackageImpl#getNB_KnightBlack()
	 * @generated
	 */
	int NB_KNIGHT_BLACK = 2;

	/**
	 * The feature id for the '<em><b>Field</b></em>' container reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NB_KNIGHT_BLACK__FIELD = BoardGamePackage.FIGURE__FIELD;

	/**
	 * The number of structural features of the '<em>NB Knight Black</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NB_KNIGHT_BLACK_FEATURE_COUNT = BoardGamePackage.FIGURE_FEATURE_COUNT + 0;

	/**
	 * The operation id for the '<em>Add To</em>' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NB_KNIGHT_BLACK___ADD_TO__FIELD = BoardGamePackage.FIGURE___ADD_TO__FIELD;

	/**
	 * The operation id for the '<em>Move To</em>' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NB_KNIGHT_BLACK___MOVE_TO__FIELD = BoardGamePackage.FIGURE_OPERATION_COUNT + 0;

	/**
	 * The number of operations of the '<em>NB Knight Black</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NB_KNIGHT_BLACK_OPERATION_COUNT = BoardGamePackage.FIGURE_OPERATION_COUNT + 1;

	/**
	 * The meta object id for the '{@link Rules.impl.NW_KnightWhiteImpl <em>NW Knight White</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see Rules.impl.NW_KnightWhiteImpl
	 * @see Rules.impl.RulesPackageImpl#getNW_KnightWhite()
	 * @generated
	 */
	int NW_KNIGHT_WHITE = 3;

	/**
	 * The feature id for the '<em><b>Field</b></em>' container reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NW_KNIGHT_WHITE__FIELD = BoardGamePackage.FIGURE__FIELD;

	/**
	 * The number of structural features of the '<em>NW Knight White</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NW_KNIGHT_WHITE_FEATURE_COUNT = BoardGamePackage.FIGURE_FEATURE_COUNT + 0;

	/**
	 * The operation id for the '<em>Add To</em>' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NW_KNIGHT_WHITE___ADD_TO__FIELD = BoardGamePackage.FIGURE___ADD_TO__FIELD;

	/**
	 * The operation id for the '<em>Move To</em>' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NW_KNIGHT_WHITE___MOVE_TO__FIELD = BoardGamePackage.FIGURE_OPERATION_COUNT + 0;

	/**
	 * The number of operations of the '<em>NW Knight White</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NW_KNIGHT_WHITE_OPERATION_COUNT = BoardGamePackage.FIGURE_OPERATION_COUNT + 1;

	/**
	 * Returns the meta object for class '{@link Rules.KB_KingBlack <em>KB King Black</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>KB King Black</em>'.
	 * @see Rules.KB_KingBlack
	 * @generated
	 */
	EClass getKB_KingBlack();

	/**
	 * Returns the meta object for the '{@link Rules.KB_KingBlack#moveTo(BoardGame.Field) <em>Move To</em>}' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the '<em>Move To</em>' operation.
	 * @see Rules.KB_KingBlack#moveTo(BoardGame.Field)
	 * @generated
	 */
	EOperation getKB_KingBlack__MoveTo__Field();

	/**
	 * Returns the meta object for class '{@link Rules.KW_KingWhite <em>KW King White</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>KW King White</em>'.
	 * @see Rules.KW_KingWhite
	 * @generated
	 */
	EClass getKW_KingWhite();

	/**
	 * Returns the meta object for the '{@link Rules.KW_KingWhite#moveTo(BoardGame.Field) <em>Move To</em>}' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the '<em>Move To</em>' operation.
	 * @see Rules.KW_KingWhite#moveTo(BoardGame.Field)
	 * @generated
	 */
	EOperation getKW_KingWhite__MoveTo__Field();

	/**
	 * Returns the meta object for class '{@link Rules.NB_KnightBlack <em>NB Knight Black</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>NB Knight Black</em>'.
	 * @see Rules.NB_KnightBlack
	 * @generated
	 */
	EClass getNB_KnightBlack();

	/**
	 * Returns the meta object for the '{@link Rules.NB_KnightBlack#moveTo(BoardGame.Field) <em>Move To</em>}' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the '<em>Move To</em>' operation.
	 * @see Rules.NB_KnightBlack#moveTo(BoardGame.Field)
	 * @generated
	 */
	EOperation getNB_KnightBlack__MoveTo__Field();

	/**
	 * Returns the meta object for class '{@link Rules.NW_KnightWhite <em>NW Knight White</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>NW Knight White</em>'.
	 * @see Rules.NW_KnightWhite
	 * @generated
	 */
	EClass getNW_KnightWhite();

	/**
	 * Returns the meta object for the '{@link Rules.NW_KnightWhite#moveTo(BoardGame.Field) <em>Move To</em>}' operation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the '<em>Move To</em>' operation.
	 * @see Rules.NW_KnightWhite#moveTo(BoardGame.Field)
	 * @generated
	 */
	EOperation getNW_KnightWhite__MoveTo__Field();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	RulesFactory getRulesFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each operation of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link Rules.impl.KB_KingBlackImpl <em>KB King Black</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see Rules.impl.KB_KingBlackImpl
		 * @see Rules.impl.RulesPackageImpl#getKB_KingBlack()
		 * @generated
		 */
		EClass KB_KING_BLACK = eINSTANCE.getKB_KingBlack();

		/**
		 * The meta object literal for the '<em><b>Move To</b></em>' operation.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EOperation KB_KING_BLACK___MOVE_TO__FIELD = eINSTANCE
				.getKB_KingBlack__MoveTo__Field();

		/**
		 * The meta object literal for the '{@link Rules.impl.KW_KingWhiteImpl <em>KW King White</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see Rules.impl.KW_KingWhiteImpl
		 * @see Rules.impl.RulesPackageImpl#getKW_KingWhite()
		 * @generated
		 */
		EClass KW_KING_WHITE = eINSTANCE.getKW_KingWhite();

		/**
		 * The meta object literal for the '<em><b>Move To</b></em>' operation.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EOperation KW_KING_WHITE___MOVE_TO__FIELD = eINSTANCE
				.getKW_KingWhite__MoveTo__Field();

		/**
		 * The meta object literal for the '{@link Rules.impl.NB_KnightBlackImpl <em>NB Knight Black</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see Rules.impl.NB_KnightBlackImpl
		 * @see Rules.impl.RulesPackageImpl#getNB_KnightBlack()
		 * @generated
		 */
		EClass NB_KNIGHT_BLACK = eINSTANCE.getNB_KnightBlack();

		/**
		 * The meta object literal for the '<em><b>Move To</b></em>' operation.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EOperation NB_KNIGHT_BLACK___MOVE_TO__FIELD = eINSTANCE
				.getNB_KnightBlack__MoveTo__Field();

		/**
		 * The meta object literal for the '{@link Rules.impl.NW_KnightWhiteImpl <em>NW Knight White</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see Rules.impl.NW_KnightWhiteImpl
		 * @see Rules.impl.RulesPackageImpl#getNW_KnightWhite()
		 * @generated
		 */
		EClass NW_KNIGHT_WHITE = eINSTANCE.getNW_KnightWhite();

		/**
		 * The meta object literal for the '<em><b>Move To</b></em>' operation.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EOperation NW_KNIGHT_WHITE___MOVE_TO__FIELD = eINSTANCE
				.getNW_KnightWhite__MoveTo__Field();

	}

} //RulesPackage
